Skip to content

[Microsoft.Web] Added staticSitesOperations and staticSitesOperationResults paths#40983

Merged
mishapos merged 772 commits into
web-2026-03-15from
mishapos-Microsoft.Web-add-staticsite-async-operations
May 5, 2026
Merged

[Microsoft.Web] Added staticSitesOperations and staticSitesOperationResults paths#40983
mishapos merged 772 commits into
web-2026-03-15from
mishapos-Microsoft.Web-add-staticsite-async-operations

Conversation

@mishapos

@mishapos mishapos commented Mar 3, 2026

Copy link
Copy Markdown

ARM (Control Plane) API Specification Update Pull Request Add async operation status and result endpoints for Static Sites

Summary

This PR adds two new GET endpoints for tracking asynchronous operations on Microsoft.Web/staticSites resources, following the ARM async API reference contract:

  • Operation Status: GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/staticSiteOperationStatuses/{operationId} — returns the current status of an async operation (200 + default)
  • Operation Result: GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/staticSitesOperationResults/{operationId} — returns the result of an async operation (200 + 202 for polling + default)

Changes

File Description
StaticSitesAsyncOperations.tsp New file — Defines the StaticSitesAsyncOperations interface using ARM library helpers (@armResourceOperations, @autoRoute, Foundations.OperationIdParameter, LocationResourceParameter) with @@segment augment decorators for custom path segments
models.tsp Added StaticSitesOperationStatusProperties model and restructured StaticSitesOperationStatus to nest status, startTime, endTime, staticSiteProperties, and error inside a properties bag for ARM BodyTopLevelProperties compliance
main.tsp Added import for StaticSitesAsyncOperations.tsp
routes.tsp Added @typespec/versioning import/using (the inline async operations were removed and replaced by the new dedicated file)
examples/2026-03-15/GetStaticSiteOperationStatus.json Updated example to match the new properties-bag structure and operation ID
examples/2026-03-15/GetStaticSiteOperationResult.json Updated example with 200 + 202 responses (removed 204), matching the GetResponseCodes contract

API version

These endpoints are added under @added(Versions.v2026_03_15).

ARM compliance

All previously reported violations have been resolved:

  • GetResponseCodes — Operation result GET now returns 200/202/default
  • BodyTopLevelPropertiesstatus, startTime, endTime, error moved inside the properties envelope

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    ARM resource provider contract and
    REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.
  • A release plan has been created. If not, please create one as it will help guide you through the REST API and SDK creation process.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.
  • For guidance on SDK breaking change review, refer to https://aka.ms/ci-fix.

@github-actions

github-actions Bot commented Mar 3, 2026

Copy link
Copy Markdown

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR is in purview of the ARM review (label: ARMReview). This PR must get ARMSignedOff label from an ARM reviewer.
    This PR has ARMChangesRequested label. Please address or respond to feedback from the ARM API reviewer.
    When you are ready to continue the ARM API review, please remove the ARMChangesRequested label.
    Automation should then add WaitForARMFeedback label.
    ❗If you don't have permissions to remove the label, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories.
    For details of the ARM review, see aka.ms/azsdk/pr-arm-review

Important checks have failed. As of today they are not blocking this PR, but in near future they may.
Addressing the following failures is highly recommended:
  • ⚠️ The check named Swagger BreakingChange has failed. To unblock this PR, follow the process at aka.ms/brch.


Comment generated by summarize-checks workflow run.

@mishapos mishapos changed the title Added staticSitesOperations and staticSitesOperationResults paths [Microsoft.Web] Added staticSitesOperations and staticSitesOperationResults paths Mar 3, 2026
@github-actions github-actions Bot added resource-manager TypeSpec Authored with TypeSpec labels Mar 3, 2026
Base automatically changed from archidda-web-Microsoft.Web/aigatewaysrt to main March 4, 2026 23:03
@mishapos mishapos marked this pull request as ready for review March 4, 2026 23:22
@github-actions github-actions Bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required NotReadyForARMReview new-api-version and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required new-api-version labels Mar 4, 2026
@mishapos mishapos added the PublishToCustomers Acknowledgement the changes will be published to Azure customers. label Mar 4, 2026
@github-actions github-actions Bot added new-api-version WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required BreakingChange-JavaScript-Sdk BreakingChange-Go-Sdk BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required NotReadyForARMReview and removed new-api-version VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required NotReadyForARMReview WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Mar 4, 2026
haolingdong-msft and others added 15 commits May 1, 2026 02:06
* Fix 404 URLs in api-version-evolution.md

Update versioning documentation URLs to match the new site structure:
- 01-preview-version -> 01-about-versioning/
- Remove /arm/ segment from preview-after-preview, stable-after-preview,
  preview-after-stable, and stable-after-stable URLs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix prettier formatting for api-version-evolution.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Added client customizations to adhere to .NET naming guidelines

* Adding few more client customizations

* Fixing typespec errors.

* Update the client customizations to follow .NET guidelines.

---------

Co-authored-by: Sumedh Sandeep Parvatikar <sparvatikar@microsoft.com>
…date (#42701)

Bumps the eslint group with 1 update in the /.github directory: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).
Bumps the eslint group with 1 update in the /.github/shared directory: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 8.58.2 to 8.59.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.0/packages/typescript-eslint)

Updates `typescript-eslint` from 8.58.2 to 8.59.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.0/packages/typescript-eslint)

Updates `typescript-eslint` from 8.58.2 to 8.59.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.0/packages/typescript-eslint)

Updates `typescript-eslint` from 8.58.2 to 8.59.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.59.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: typescript-eslint
  dependency-version: 8.59.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…42738)

Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Bumps the typespec-client-generator-cli group with 1 update in the / directory: [@azure-tools/typespec-client-generator-cli](https://github.com/Azure/azure-sdk-tools).


Updates `@azure-tools/typespec-client-generator-cli` from 0.32.1 to 0.33.0
- [Release notes](https://github.com/Azure/azure-sdk-tools/releases)
- [Commits](https://github.com/Azure/azure-sdk-tools/commits)

---
updated-dependencies:
- dependency-name: "@azure-tools/typespec-client-generator-cli"
  dependency-version: 0.33.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: typespec-client-generator-cli
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Pin actionlint docker image to sha256 digest

Agent-Logs-Url: https://github.com/Azure/azure-rest-api-specs/sessions/de091f51-8df0-4e27-9560-c21d7edec6e3

Co-authored-by: mikeharder <9459391+mikeharder@users.noreply.github.com>

* Apply suggestion from @mikeharder

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mikeharder <9459391+mikeharder@users.noreply.github.com>
Co-authored-by: Mike Harder <mharder@microsoft.com>
…2775)

Bumps the typespec group with 1 update in the / directory: [@azure-tools/typespec-client-generator-core](https://github.com/Azure/typespec-azure).


Updates `@azure-tools/typespec-client-generator-core` from 0.67.3 to 0.67.4
- [Release notes](https://github.com/Azure/typespec-azure/releases)
- [Commits](https://github.com/Azure/typespec-azure/compare/@azure-tools/typespec-client-generator-core@0.67.3...@azure-tools/typespec-client-generator-core@0.67.4)

---
updated-dependencies:
- dependency-name: "@azure-tools/typespec-client-generator-core"
  dependency-version: 0.67.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: typespec
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add @@clientName decorators for PipelineGroups C# SDK naming
* Add FileShares 2026-06-01 examples and stable

Add generated examples for Microsoft.FileShares/fileShares for API version 2026-06-01, including FileShareSnapshot (create/update/get/list/delete), FileShares (create/update/get/delete/list/listByParent/listBySubscription), limits, provisioning recommendation, usage data, name availability checks, private endpoint/PrivateLink resources, and operations examples. Also add stable copies under the stable/2026-06-01 path and a new stable fileshares.json, and update fileshares.tsp to include the new API surface. These examples provide test/usage payloads and responses for the new API version.

* Update readme.md

* add encryption in transit to nfsprotocolproperties

* add added marker

* add compiled json

* add identity

* Revert "add identity"

This reverts commit 5ece48a.

* Add encryptionInTransitRequired to 2026-06-01 FileShares examples

* add identity, generate examples, lint, run validation

(cherry picked from commit 216610a)

* fixes to generated examples

(cherry picked from commit b9d5f21)

* Add patch models and restrict mutability for FileShare

Introduce FileSharePatchProperties and FileShareSnapshotPatchProperties (TypeSpec + JSON definitions) and switch FileShare/FileShareSnapshot update operations to use these patch models. Adjust x-ms-mutability for several FileShare properties (provisionedStorageGiB, provisionedIOPerSec, provisionedThroughputMiBPerSec, nfsProtocolProperties, publicAccessProperties, publicNetworkAccess) and snapshot metadata to be update-only. Add suppress annotations for new patch models and update tspconfig.yaml to set azure-resource-provider-folder. Changes applied across preview and stable specs.

* Revert "FileShares 2026-06-01 Identity"

* fix initiatorId to Create + Read; add visibility to metadata

* attempt 'post-generation patching' fix

* Revert "attempt 'post-generation patching' fix"

This reverts commit 9c8a487.

* regenerated examples

* tsp format

* revert changes to examples; ONLY include initiatorId updates

* remove new PrivateEndpointConnection and PrivateLinkResource files

* add back PEC/PLR tests that were inadvertently removed

---------

Co-authored-by: Stephanie Fong <stefong@microsoft.com>
Co-authored-by: James Lindamood <jlindamood@microsoft.com>
Co-authored-by: James Lindamood <jameslindamood@gmail.com>
* Define contract for Batch RuleSet feature

* Update allow pattern for the rule name field

* Remove redundant imports

* Making the request body optional with handcraft typespec op

* Updating default value for batchMode to null
It will be treated as false

* Versioning LRO for RuleSet Create/Update

* Remove conditional readonly attribute name, rename it to ruleName

* Setting batchMode as immutable

* Retrigger validation pipeline

* Fix format issue in readme.md file

* add 2025-09-preview examples to 2025-12-01

* Merge 2025-09-01-preview back

* Fallback old version of RuleSets_Create example

* Address validation error

* Address PR validation error

* Seems like the version is mixing up with preview version in the typespec entity, try to address it

* Fix preview version decorator

* Rename ruleName to name for BatchRule, and remove deploymentStatus and provisioningState attributes.

* Commit openapi.json

* Do not use readonly property name, create a ruleName field

* Correct the way we version the preview version

* Fix the missing example issue from the pipeline

* Commit all undetected change from preview version

* Rename name the existing operation rather than create a new one for batch process

* Fix LintDiff issue with ProvisioningStateMustBeReadOnly

* Fix ProvisioningState reaonly issue

* Make PUT request body not optional
So it will be compliance with the ARM spec that requires the body.

* Follow the advice from reviewer,  to keep the request body optional.

* Marking batchMode immutable

* Marking ruleName and batchMode immutable

* Supress warnings/errors from previous version

* Improve suppress logic

* Replace @OpenAPI.extension with @Identifiers decorator for BatchRuleProperties

* Fix createV1 name

---------

Co-authored-by: Deven Chen <devenchen@microsoft.com>
Co-authored-by: Tianren Shen <tianrenshen@microsoft.com>
Co-authored-by: Tianren Shen <1279011+Tianrens@users.noreply.github.com>
…api-specs into mishapos-Microsoft.Web-add-staticsite-async-operations
@sandipsh

sandipsh commented May 1, 2026

Copy link
Copy Markdown
Contributor

This PR has breaking change validation error, will need to get breaking approval at some point.

@sandipsh

sandipsh commented May 1, 2026

Copy link
Copy Markdown
Contributor

Please address swagger lintdiff, avocado, model validation, semantic validation and typespec validation errors.

@sandipsh

sandipsh commented May 1, 2026

Copy link
Copy Markdown
Contributor

As per PR description the change is for Microsoft.Web couple of APIs however it has 1000s of files changed including other RPs, mostly lease yml files. Is it expected/intentional?

@github-actions

github-actions Bot commented May 2, 2026

Copy link
Copy Markdown

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Go sdk/resourcemanager/appservice/armappservice
Java com.azure.resourcemanager:azure-resourcemanager-appservice-generated
JavaScript @azure/arm-appservice
TypeSpec Microsoft.Web

Comment generated by After APIView workflow run.

…e-async-operations"

This reverts commit c81f3ac, reversing
changes made to d63ece2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.